using System.Text.Json.Serialization;

namespace JlPay.Sdk.Models.Ledger.Merchconf
{
    /// <summary>
    /// 绑定信息
    /// </summary>
    public class Bind
    {
        /// <summary>
        /// 接收方商户号
        /// </summary>
        [JsonPropertyName("rev_mch_id")]
        public string? RevMchId { get; set; }

        /// <summary>
        /// 接收方商户名称
        /// </summary>
        [JsonPropertyName("rev_mch_name")]
        public string? RevMchName { get; set; }

        /// <summary>
        /// 通知URL
        /// </summary>
        [JsonPropertyName("notify_url")]
        public string? NotifyUrl { get; set; }

        /// <summary>
        /// 来源ID列表
        /// </summary>
        [JsonPropertyName("source_ids")]
        public string? SourceIds { get; set; }

        /// <summary>
        /// 构造函数
        /// </summary>
        public Bind()
        {
        }

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="revMchId">接收方商户号</param>
        /// <param name="revMchName">接收方商户名称</param>
        /// <param name="notifyUrl">通知URL</param>
        /// <param name="sourceIds">来源ID列表</param>
        public Bind(string? revMchId = null, string? revMchName = null, string? notifyUrl = null, string? sourceIds = null)
        {
            RevMchId = revMchId;
            RevMchName = revMchName;
            NotifyUrl = notifyUrl;
            SourceIds = sourceIds;
        }
    }
} 